package com.sourceQ.common.sms.core.client;

import com.sourceQ.common.sms.core.property.SmsChannelProperties;

/**
 * @author: SourceQ
 * @create: 2024-04-23 14:25
 * @Description:短信客户端的工厂
 */
public interface SmsClientFactory {
    /**
     * 获得短信 Client
     *
     * @param channelId 渠道编号
     * @return 短信 Client
     */
    SmsClient getSmsClient(Long channelId);

    /**
     * 获得短信 Client
     *
     * @param channelCode 渠道编码
     * @return 短信 Client
     */
    SmsClient getSmsClient(String channelCode);

    /**
     * 创建短信 Client
     *
     * @param properties 配置对象
     */
    void createOrUpdateSmsClient(SmsChannelProperties properties);
}
